Skip to content

Implement edmTypeInfo - #50842

Merged
cmsbuild merged 2 commits into
cms-sw:masterfrom
fwyzard:implement_cmsTypeInfo
Jul 16, 2026
Merged

Implement edmTypeInfo#50842
cmsbuild merged 2 commits into
cms-sw:masterfrom
fwyzard:implement_cmsTypeInfo

Conversation

@fwyzard

@fwyzard fwyzard commented Apr 30, 2026

Copy link
Copy Markdown
Contributor

PR description:

Implement an utility to resolve a C++ type name to its actual definition, taking into account type aliases and the use of ALPAKA_ACCELERATOR_NAMESPACE, and print the full c++ name, the friendly class name, and the mangled name.

PR validation:

Validate the new script with a dedicated unit test.

@cmsbuild

cmsbuild commented Apr 30, 2026

Copy link
Copy Markdown
Contributor

cms-bot internal usage

@fwyzard

fwyzard commented Apr 30, 2026

Copy link
Copy Markdown
Contributor Author

type ngt

@fwyzard

fwyzard commented Apr 30, 2026

Copy link
Copy Markdown
Contributor Author

please test

@cmsbuild

Copy link
Copy Markdown
Contributor

@cmsbuild

Copy link
Copy Markdown
Contributor

A new Pull Request was created by @fwyzard for master.

It involves the following packages:

  • FWCore/Reflection (core)

@Dr15Jones, @makortel, @smuzaffar can you please review it and eventually sign? Thanks.
@makortel, @wddgit this is something you requested to watch as well.
@ftenchini, @mandrenguyen, @sextonkennedy you are the release manager for this.

cms-bot commands are listed here

@cmsbuild

Copy link
Copy Markdown
Contributor

-1

Failed Tests: RelVals-INPUT
Size: This PR adds an extra 20KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4a96c2/52988/summary.html
COMMIT: 47fdcd8
CMSSW: CMSSW_17_0_X_2026-04-30-1100/el8_amd64_gcc13
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/50842/52988/install.sh to create a dev area with all the needed externals and cmssw changes.

Failed RelVals-INPUT

  • 2500.3212500.321_EXONANOmc150X/step2_EXONANOmc150X.log
  • 2500.33112500.3311_EXONANOdata150Xrun3/step2_EXONANOdata150Xrun3.log

Comparison Summary

Summary:

  • You potentially removed 3 lines from the logs
  • ROOTFileChecks: Some differences in event products or their sizes found
  • Reco comparison results: 5 differences found in the comparisons
  • DQMHistoTests: Total files compared: 53
  • DQMHistoTests: Total histograms compared: 4187168
  • DQMHistoTests: Total failures: 39
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 4187109
  • DQMHistoTests: Total skipped: 20
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 52 files compared)
  • Checked 227 log files, 197 edm output root files, 53 DQM output files
  • TriggerResults: found differences in 1 / 51 workflows

@fwyzard

fwyzard commented May 7, 2026

Copy link
Copy Markdown
Contributor Author

please test

The failure is unrelated.

Comment thread FWCore/Reflection/scripts/edmTypeInfo Outdated
Comment thread FWCore/Reflection/scripts/edmTypeInfo
Comment thread FWCore/Reflection/scripts/edmTypeInfo
@cmsbuild

cmsbuild commented May 8, 2026

Copy link
Copy Markdown
Contributor

+1

Size: This PR adds an extra 16KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4a96c2/53126/summary.html
COMMIT: 47fdcd8
CMSSW: CMSSW_17_0_X_2026-05-07-1100/el8_amd64_gcc13
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/50842/53126/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 6 differences found in the comparisons
  • DQMHistoTests: Total files compared: 53
  • DQMHistoTests: Total histograms compared: 4187168
  • DQMHistoTests: Total failures: 23
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 4187125
  • DQMHistoTests: Total skipped: 20
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 52 files compared)
  • Checked 227 log files, 197 edm output root files, 53 DQM output files
  • TriggerResults: no differences found

@cmsbuild

cmsbuild commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Milestone for this pull request has been moved to CMSSW_20_0_X. Please open a backport if it should also go in to CMSSW_17_0_X.

@cmsbuild cmsbuild modified the milestones: CMSSW_17_0_X, CMSSW_20_0_X Jun 5, 2026
EXPECTED='`portabletest::TestHostCollection` resolves to `PortableHostCollection<portabletest::TestSoALayout<128,false> >`
with friendly class name `128falseportabletestTestSoALayoutPortableHostCollection`
with type info `22PortableHostCollectionIN12portabletest13TestSoALayoutILm128ELb0EEEE`'
compare "${CMD}" "${EXPECTED}"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These tests introduce a dependence outside of the framework packages that I'd much prefer to avoid. Best would be to add new test types to FWCore/Reflection/test/stubs.

Tests for portabletest types could be done in DataFormats/PortableTestObjects/test (if they would be useful).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tests are supposed to test the handling of ALPAKA_ACCELERATOR_NAMESPACE, and I assume you would rather not have dependencies on HeterogeneousCore/AlpakaCore and DataFormats/Portable under WCore/Reflection/test/stubs.

Is a dependency on DataFormats/TestObjects acceptable?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tests are supposed to test the handling of ALPAKA_ACCELERATOR_NAMESPACE, and I assume you would rather not have dependencies on HeterogeneousCore/AlpakaCore and DataFormats/Portable under FWCore/Reflection/test/stubs.

Correct, those dependencies should be avoided.

Is a dependency on DataFormats/TestObjects acceptable?

It would be better, but at the package level all DataFormats depend transitively on FWCore/Reflection, so having FWCore/Reflection/test depend on a DataFormats package smells (although it would technically work).

But what could be achieved in DataFormats/TestObjects that could not be done in FWCore/Reflection/test/stubs?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But what could be achieved in DataFormats/TestObjects that could not be done in FWCore/Reflection/test/stubs?

I simply wanted to use some existing data format instead of creating new ones for the test.

What about DataFormats/StdDictionaries or DataFormats/Common ?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about DataFormats/StdDictionaries or DataFormats/Common ?

Dependency-wise those are not better than DataFormats/TestObjects.

If you just want something, I'd suggest edmtest::reflection::IntObject which is already defined in FWCore/Reflection/test/stubs.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, I've changed the local test to use that, and added a test for alpaka types under DataFormats/PortableTestObjects.

fwyzard added 2 commits July 16, 2026 11:01
Implement an utility to resolve a C++ type name to its actual definition,
taking into account type aliases and the use of ALPAKA_ACCELERATOR_NAMESPACE,
and print the full c++ name, the friendly class name, and the mangled name.
@fwyzard
fwyzard force-pushed the implement_cmsTypeInfo branch from 88eb3eb to d8013dd Compare July 16, 2026 09:01
@cmsbuild

Copy link
Copy Markdown
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-50842/50214

@cmsbuild

Copy link
Copy Markdown
Contributor

Pull request #50842 was updated. @Dr15Jones, @cmsbuild, @fwyzard, @makortel, @smuzaffar can you please check and sign again.

@fwyzard

fwyzard commented Jul 16, 2026

Copy link
Copy Markdown
Contributor Author

please test

@cmsbuild

Copy link
Copy Markdown
Contributor

+1

Size: This PR adds an extra 24KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4a96c2/54782/summary.html
COMMIT: d8013dd
CMSSW: CMSSW_20_1_X_2026-07-15-2300/el9_amd64_gcc13
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/50842/54782/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • ROOTFileChecks: Some differences in event products or their sizes found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 45
  • DQMHistoTests: Total histograms compared: 3548294
  • DQMHistoTests: Total failures: 112
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3548164
  • DQMHistoTests: Total skipped: 18
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 44 files compared)
  • Checked 195 log files, 163 edm output root files, 45 DQM output files
  • TriggerResults: no differences found

@makortel

Copy link
Copy Markdown
Contributor

Comparison differences are related to #47071

@makortel

Copy link
Copy Markdown
Contributor

+core

@fwyzard

fwyzard commented Jul 16, 2026

Copy link
Copy Markdown
Contributor Author

+heterogeneous

@cmsbuild

Copy link
Copy Markdown
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @ftenchini, @mandrenguyen, @sextonkennedy (and backports should be raised in the release meeting by the corresponding L2)

@mandrenguyen

Copy link
Copy Markdown
Contributor

+1

@smuzaffar

Copy link
Copy Markdown
Contributor

@fwyzard , the newly added unit test is failing for IBs without CUDA (e.g. our GCC 15 , GCC16 IBs)

@fwyzard

fwyzard commented Jul 17, 2026

Copy link
Copy Markdown
Contributor Author

Ah... I will have a look, but I'm on holiday until the end of next week, and I don't know when I'll be able to.

If it's a problem you can revert it for the moment.

@fwyzard

fwyzard commented Jul 28, 2026

Copy link
Copy Markdown
Contributor Author

@smuzaffar #51580 should fix the test for builds without CUDA or ROCm.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants